home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / FASTSTRI.I < prev    next >
Encoding:
Modula Implementation  |  1990-05-06  |  3.2 KB  |  121 lines

  1. IMPLEMENTATION MODULE FastStrings;
  2. (*$Y+,N+,M-,L-*)
  3.  
  4. FROM SYSTEM IMPORT ASSEMBLER;
  5. IMPORT Strings;
  6.  
  7. (*
  8.   18.06.88  TT : Ersterstellung
  9.   29.06.88  TT : Delete wg. Volständigkeit neu.
  10. *)
  11.  
  12. VAR     valid: BOOLEAN;
  13.  
  14. PROCEDURE Chr ( REF s: ARRAY OF CHAR; n: CARDINAL ): CHAR;
  15.   BEGIN
  16.     ASSEMBLER
  17.         JMP     Strings.Chr
  18.     END
  19.   END Chr;
  20.  
  21. PROCEDURE Length ( REF str: ARRAY OF CHAR ): CARDINAL;
  22.   BEGIN
  23.     ASSEMBLER
  24.         JMP     Strings.Length
  25.     END
  26.   END Length;
  27.  
  28. PROCEDURE Pos ( REF pattern, source: ARRAY OF CHAR ): INTEGER;
  29.   BEGIN
  30.     ASSEMBLER
  31.         CLR.W   (A3)+           ; start
  32.         JMP     Strings.Pos
  33.     END
  34.   END Pos;
  35.  
  36. PROCEDURE PosLen ( REF pattern, source: ARRAY OF CHAR ): CARDINAL;
  37.   BEGIN
  38.     ASSEMBLER
  39.         CLR.W   (A3)+           ; start
  40.         JMP     Strings.PosLen
  41.     END
  42.   END PosLen;
  43.  
  44. PROCEDURE Assign ( REF source: ARRAY OF CHAR; VAR dest : ARRAY OF CHAR );
  45.   BEGIN
  46.     ASSEMBLER
  47.         MOVE.L  #valid,(A3)+
  48.         JMP     Strings.Assign
  49.     END
  50.   END Assign;
  51.  
  52. PROCEDURE Delete ( REF str    : ARRAY OF CHAR;
  53.                        pos    : INTEGER;
  54.                        len    : INTEGER );
  55.   BEGIN
  56.     ASSEMBLER
  57.         MOVE.L  #valid,(A3)+
  58.         JMP     Strings.Delete
  59.     END
  60.   END Delete;
  61.  
  62. PROCEDURE Append ( REF source: ARRAY OF CHAR; VAR dest : ARRAY OF CHAR );
  63.   BEGIN
  64.     ASSEMBLER
  65.         MOVE.L  #valid,(A3)+
  66.         JMP     Strings.Append
  67.     END
  68.   END Append;
  69.  
  70. PROCEDURE Insert ( REF source : ARRAY OF CHAR;
  71.                        pos    : INTEGER;
  72.                    VAR dest   : ARRAY OF CHAR );
  73.   BEGIN
  74.     ASSEMBLER
  75.         MOVE.L  #valid,(A3)+
  76.         JMP     Strings.Insert
  77.     END
  78.   END Insert;
  79.  
  80. PROCEDURE Copy ( REF source : ARRAY OF CHAR;
  81.                      pos    : INTEGER;
  82.                      len    : INTEGER;
  83.                  VAR dest   : ARRAY OF CHAR );
  84.   BEGIN
  85.     ASSEMBLER
  86.         MOVE.L  #valid,(A3)+
  87.         JMP     Strings.Copy
  88.     END
  89.   END Copy;
  90.  
  91.  
  92. PROCEDURE Concat ( REF source1, source2: ARRAY OF CHAR; VAR dest: ARRAY OF CHAR );
  93.   BEGIN
  94.     ASSEMBLER
  95.         MOVE.L  #valid,(A3)+
  96.         JMP     Strings.Concat
  97.     END
  98.   END Concat;
  99.  
  100. PROCEDURE Split ( REF source : ARRAY OF CHAR;
  101.                       pos    : INTEGER;
  102.                   VAR dest1  : ARRAY OF CHAR;
  103.                   VAR dest2  : ARRAY OF CHAR );
  104.   BEGIN
  105.     ASSEMBLER
  106.         MOVE.L  #valid,(A3)+
  107.         JMP     Strings.Split
  108.     END
  109.   END Split;
  110.  
  111. PROCEDURE Compare ( REF left, right: ARRAY OF CHAR ): Strings.Relation;
  112.   BEGIN
  113.     ASSEMBLER
  114.         JMP     Strings.Compare
  115.     END
  116.   END Compare;
  117.  
  118. END FastStrings.
  119. ə
  120. (* $FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$00000164$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFF6BD4D$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191$FFFBF191Ç$000003B4T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$000003B4$000000F4$0000017F$00000206$000002BE$00000438$000005E9$000006E3$000008C4$000009EC$00000801$0000082B$00000823$00000544$0000052E$FFED0C36äÇÇ*)
  121.